Most of today's computer systems provide expansion slots for accommodating expansion cards. The expansion slots allow expansion cards to be plugged into and coupled with an expansion bus (e.g. PCI, PCI Express, etc.) of the host system. Once the expansion cards are coupled to the expansion bus, the host system can communicate with and take advantage of the functionalities provided by the expansion cards. With such expansion slots, the capabilities of the host system can be easily expanded.
In large scale systems, a plurality of expansion slots may be encased within a single housing (referred to herein as a “boat”). A plurality of these boats may be mounted onto one or more racks; thus, in a large scale system, there may be multiple racks, with each rack having a plurality of boats, and each boat holding a plurality of expansion slots.
In such a large scale system, an expansion card may be added to or removed from the system as follows. Initially, a system administrator removes a boat from the rack, and removes the top from the boat. The administrator needs to remove the top from the boat because he/she needs to get vertical access to the expansion slots in order to insert an expansion card into an expansion slot (by pushing the card down into the slot) or to remove an expansion card from an expansion slot (by pulling the card up from the slot). Once an expansion card is inserted into or removed from the system, the administrator replaces the top of the boat, and mounts the boat back onto the rack. The system can thereafter resume normal operation.
A problem with this approach is that, in order to insert or remove an expansion card from the system, a boat has to be removed from the rack, and the top has to be removed from the boat. This typically requires that the entire system be shut down, or at the very least, that all of the expansion cards in the boat be deactivated. Unfortunately, this partial or complete shutdown of the system often cannot be done because many large scale computer systems run mission critical applications, which cannot tolerate any downtime to any part of the system. Consequently, in many if not most implementations, the above approach to card insertion and removal cannot be used.